Ansible CMD
ansible-doc
- ansible-doc 针对ansible 模块说明
// 列出支持的模块
ansible-doc –l
// 模块功能说明
ansible-doc ping
ansible-hoc
ansible-playbook
预定义playbook.yml
能够实现批量操作.
ansible-playbook playbook.yml
ansible-console
适用于临时性的批量某些操作,尤其是命令并不多时。
ansible-console
的“root@all(4)[f:5]$”是提示符,该提示符表示“当前的使用用户@当前所在的Inventory中定义的组,默认是all分组(Inventory中all组所有主机的数量)[forks:线程数]$”
console
cd webs #切换当前分组
forks 2 #设置并发数量
list #显示当前分组有多少主机
service
service 用于管理操作系统相关服务
help service
例如1:关闭防火墙
root@all (3)[f:2]$ service name=firewalld state=stopped
inventory 文件配置
Inventory是Ansible管理主机信息的配置文件,相当于系统HOSTS文件的功能,默认存放在/etc/ansible/hosts。
ansible -i /etc/ansible/hosts dbservers -m ping
inventory 配置文件说明
# “# ”开头的行表示该行为注释行,即当时行的配置不生效
# Inventory可以直接为IP地址
192.168.37.149
# Inventory同样支持Hostname的方式,后跟冒号加数字表示端口号,默认22号端口
ntp.magedu.com:2222
nfs.magedu.com
# 中括号内的内容表示一个分组的开始,紧随其后的主机均属于该组成员,空行后的主机亦属于该组,即
web2.magedu.com这台主机也属于[websevers]组
[websevers]
web1.magedu.com
web[10:20].magedu.com # [10:20]表示10~20之间的所有数字(包括10和20),即表示web10.
magedu.com、web11.magedu.com……web20.magedu.com的所有主机
web2.magedu.com[dbservers]
db-a.magedu.com
db-[b:f].magedu.com # [b:f]表示b到f之间的所有数字(包括b和f),即表示db-b.magedu.
com、db-e.magedu.com……db-f.magedu.com的所有主机
主机变量
[webservers]
web1.magedu.com http_port=808 maxRequestsPerChild=801 # 自定义http_port的端口号为808,配置maxRequestsPerChild为801
正则表达式
检测Inventory中所有以192.168开头的服务器存活信息:
ansible ~192\.168\.[0-9]\{\2}.[0-9]\{2,} -m ping